Both color and grayscale digital images are composed of picture elements (pixels), where each pixel is represented by multiple binary bits that define either a color or a gray level. In order to reproduce such an image on a printer or copier, the individual color or gray level pixels are converted to binary level pixels through use of a digital halftoning process. Binary pixels are used because the printer is only capable of either printing a dot or not printing a dot at each location. Variations in the intensity of the pixel are represented by patterns of dots.
Digital halftoning is a technique that simulates continuous-tone imagery through the use of dots. Digital halftoning uses a process of transforming a continuous-tone image into a lower bit depth image, typically binary, that has the illusion of the original continuous tone image, based on a careful arrangement of lower bit depth pixels. In this way, the arrangement of black or white dots is designed to give the human eye the perception of many shades of gray (or another color).
A conventional digital halftoning technique may use a threshold table, such as threshold table 10 as illustrated in FIG. 1. The threshold table 10 contains values that is compared to the tone values across the entire image 11. In particular, each location in the image 11 includes an incoming tone value that is compared to the value in the threshold table for each location. If the value of the incoming tone meets or exceeds the value in the threshold table, a dot will be placed on that location of the image 11 on the paper.
In this way, an incoming tone value of 5 will result in a dot in the location of the five pixels corresponding to threshold table values equal to or less than five. However, using the conventional threshold table may result in unwanted patterns in the resulting image. For example, given a long series of identical or similar incoming tone values, patterns of dots or the absence of dots may emerge.
Another approach to digital halftoning is error diffusion. In error diffusion, the difference between the incoming tone and the binary output (dot printed/no dot printed) is calculated as an error that is propagated to the calculation of future pixels. In theory, as the process repeats, the cumulative error approaches zero. FIG. 2 illustrates an example of an error diffusion table 21, in which a set of weights (W1, W2, W3, and W4) is used to distribute the error from a single pixel's halftone decision. The weights determine how the error is diffused to other pixels. For example, if the error was diffused evenly among W1, W2, W3, and W4, each weight would be ¼.
Given a threshold of 5, an input tone of 5 would result in assigning a dot to the output pixel. The dot corresponds to a value of 9. In this binary system, the only possible printed values are 0 (no dot printed) and 9 (dot printed). An input tone of 5 results in a dot or a value of 9, which results in an excess of 4 (9-5). The excess is carried forward by subtracting 1 from each of the pixels that receives weights W1, W2, W3, and W4. If the next incoming pixel was a 5, the 1 is subtracted, resulting in 4 which is less than the threshold of 5, resulting in no dot being assigned to that location. Because no dot corresponds to a value of 0, the absence of a dot results in a deficiency of 4. Accordingly, that error will be diffused to other pixels. The process repeats for all pixels.
Threshold tables tend to work well with laser printing. However, moiré effects or banding is often visible to the human eye. This problem can be exacerbated when copying a page printed on a laser printer using a multi-function printer (“MFP”). When the repeated pattern of dots generated in printing is slightly misaligned with the threshold table, artifacts can occur. The artifacts are caused when frequency components of the image resonate with the fixed placement enforced by the threshold table.
Error diffusion tends to work well with copying. However, error diffusion often leads to clumps of dots followed by the absence of dots. In other words, even though the error is spread out among pixels, the patterns of the movement of the error may still be visible to the human eye.
Thus, conventional threshold-based halftoning and error diffusion may result in unwanted patterns in the printed image that the human eye perceives. Given these problems, an apparatus and method for digital halftoning that reduces the unwanted patterns in the printed image would be desirable.